<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<!-- 
使用快速排序对一个随机生成的包含 20 个整数的数组进行排序。（可选）

-->
<script>
    var a = Array.from({ length: 10 }, (_, index) => index + 1).sort(() => Math.random() - 0.5)
    function quick(a) {
        var a = [...a]
        // 如果小于一
        if (a.length <= 1) {
            return a;
        }
        // 右侧数组小于基准值的数组
        var left = [];
        // 右侧数组大于基准值的数组
        var right = [];
        // 基准值
        var pivot = a[Math.floor(a.length / 2)]
        for (var i = 0; i < a.length; i++) {
            if (a[i] < pivot) left.push(a[i]);
            if (a[i] > pivot) right.push(a[i]);
        }
        // 把每次处理后的left、right、pivot递归调用
        return quick(left).concat([pivot], quick(right));

    }
    console.log(quick(a));
</script>

</html>